#define _CRT_SECURE_NO_WARNINGS 1
//#include<stdio.h>
//extern int Add(int x, int y);
//int main()
//{
//	int x = 1;
//	int y = 3;
//	int ret = Add(x, y);
//	return 0;
//}
//#include<stdio.h>
//int main()
//{
//	printf("%s\n", __FILE__);
//	printf("%d\n", __LINE__);
//	printf("%s\n", __DATE__);
//	printf("%s\n", __TIME__);
//	printf("%s\n", __FUNCTION__);
//	return 0;
//}
//#include<stdio.h>
//#define do_foever for(;;)
//int main()
//{
//	do_foever;
//	return 0;
//}
//#include<stdio.h>
//#define CASE break;case
//int main()
//{
//	int n = 0;
//	switch (n)
//	{
//	case 1:
//	CASE 2:
//	CASE 3:
//	CASE 4:
//	}
//	return 0;
//}
//#include<stdio.h>
//#define SQUARE(X) ((X)*(X)) 
//int main()
//{
//	printf("%d\n", SQUARE(3+1));
//	return 0;
//}
//#include<stdio.h>
//#define DOUBLE(X) ((X)+(X)) 
//int main()
//{
//	printf("%d\n", 10*DOUBLE(3 + 1));
//	return 0;
//}
//#include<stdio.h>
//#define MAX(x,y) ((x)>(y)?(x):(y))
//int main()
//{
//	printf("%d\n", MAX(3 + 1, 4 + 5));
//	return 0;
//}
//#include<stdio.h>
//int main()
//{
//	printf("hello world\n");
//	printf("hello"" world\n");
//
//	return 0;
//}
//#define PRINT(x) printf("the value of x is %d\n",x)
//#include<stdio.h>
//int main()
//{
//	int a = 10;
//	//printf("the value of a is %d\n",a);
//	PRINT(a);
//	int b = 1;
//	//printf("the value of b is %d\n", b);
//	PRINT(b);
//	return 0;
//}
//#define PRINT(format,x) printf("the value of " #x " is "format"\n",x)
//#include<stdio.h>
//int main()
//{
//	int a = 10;
//	//printf("the value of a is %d\n",a);
//	PRINT("%d", a);
//	int b = 1;
//	//printf("the value of b is %d\n", b);
//	PRINT("%d", b);
//	float f = 3.14;
//	PRINT("%f", f);
//	return 0;
//}
//#include<stdio.h>
//#define CAT(x,y) x##y
//int main()
//{
//	int helloworld = 2023;
//	printf("%d\n", CAT(hello, world));
//	return 0;
//}
//#define MAX(x,y) ((x)>(y)?(x):(y))
//#include<stdio.h>
//int Max(int x, int y)
//{
//	return (x > y ? x : y);
//}
//int main()
//{
//	int a = 4;
//	int b = 6;
//	int m = Max(a++, b++);
//	printf("%d\n", m);
//	printf("%d %d\n", a, b);
//	return 0;
//}
//#include<stdio.h>
//#define MALLOC(num,type) (type*)malloc(num*sizeof(type))
//int main()
//{
//	int* p1 = (int*)malloc(10 * sizeof(int));
//	int* p2 = MALLOC(10, int);
//	return 0;
//}
//#include<stdio.h>
//#define M 100
//int main()
//{
//	printf("%d\n", M);
//#undef M
//	printf("%d\n", M);
//	return 0;
//}
//#include <stdio.h>
//int main()
//{
//	int array[ARRAY_SIZE];
//	int i = 0;
//	for (i = 0; i < ARRAY_SIZE; i++)
//	{
//		array[i] = i;
//	}
//	for (i = 0; i < ARRAY_SIZE; i++)
//	{
//		printf("%d ", array[i]);
//	}
//	printf("\n");
//	return 0;
//}
//#include<stdio.h>
//#define PRINT 
//int main()
//{
//#ifdef PRINT
//	printf("hehe\n");
//#endif
//	return 0;
//}
//#include<stdio.h>
//#define PRINT 0
//int main()
//{
//#if 2+3
//	printf("hehe\n");
//#endif
//	return 0;
//}
//#include<stdio.h>
//#define M 5
//int main()
//{
//#if M==1
//	printf("hehe\n");
//#elif M == 5
//	printf("haha\n");
//#else
//	printf("heiehei\n");
//#endif
//	return 0;
//}
//#include<stdio.h>
//#define M 
//int main()
//{
//#if defined(M)
//	printf("haha\n");
//#endif
//	return 0;
//}
//#include<stdio.h>
//#define M 
//int main()
//{
//#ifdef M
//	printf("haha\n");
//#endif
//	return 0;
//}
//#include<stdio.h>
//#define M 
//int main()
//{
//#ifndef M
//	printf("haha\n");
//#endif
//	return 0;
//}
//#include<stdio.h>
//#define M 
//int main()
//{
//#if !defined M
//	printf("haha\n");
//#endif
//	return 0;
//}
//#if defined(OS_UNIX)
//	#ifdef OPTION1
//		unix_version_option1();
//	#endif
//	#ifdef OPTION2
//		unix_version_option2();
//	#endif
//#elif defined(OS_MSDOS)
//	#ifdef OPTION2
//		msdos_version_option2();
//	#endif
//#endif
//#ifndef TEST_1_H
//#define TEST_1_H
//int Add(int x, int y);
//#endif
//#pragma once
//#include<stdio.h>
//#include<stddef.h>
//#define OFFSETOF(type,member) (size_t)&(((type*)0)->member)
//struct S
//{
//	char c1;
//	int i;
//	char c2;
//};
//
//int main()
//{
//	printf("%d\n", OFFSETOF(struct S, c1));
//	printf("%d\n", OFFSETOF(struct S, i));
//	printf("%d\n", OFFSETOF(struct S, c2));
//	return 0;
//}
#include<stdio.h>
#define SWAP(x) (((x&0xaaaaaaaa)>>1)+((x&0x55555555)<<1))
int main()
{
	int a = 10;
	a = SWAP(a);
	printf("%d\n", a);
	return 0;
}